truth <-
read_csv(params$truthQuantsFile) |>
pivot_longer(-c(method, ends_with("Nr")), names_to="loss", values_to="refValue") |>
mutate(refValue = ifelse(refValue == 0, 1, refValue))
## Rows: 18 Columns: 9
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): method
## dbl (8): taskNr, truthNr, L1, L2, L1AfterTimeWarp, L2AfterTimeWarp, TimeWarp...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
esti <-
map(params$estiQuantsFile, read_csv) |>
reduce(bind_rows) |>
pivot_longer(-c(method, ends_with("Nr")), names_to="loss")
## Rows: 36 Columns: 10
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): method
## dbl (9): truthNr, obsNr, taskNr, L1, L2, L1AfterTimeWarp, L2AfterTimeWarp, T...
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
data <- left_join(
esti,
truth |> select(-method),
by = c("truthNr", "taskNr", "loss"))
showTable <- function(d, caption) {
nMethods <- length(unique(d$method))
d |>
select(method, truthNr, value) |>
pivot_wider(names_from = method, values_from = value) |>
kableExtra::kbl(
digits = 3,
caption = caption,
booktabs = TRUE,
align = c("l", "l", "l", rep("r", nMethods))
) |>
kableExtra::kable_styling(
bootstrap_options = c("striped", "condensed"),
latex_options = c("striped", "HOLD_position"),
full_width = FALSE)
}
Losses
for (tnr in unique(data$taskNr)) {
cat("## Task", tnr, "\n")
taskData <- filter(data, taskNr == tnr)
for (lss in unique(taskData$loss)) {
cat("### Loss", lss, "\n")
lssData <- filter(taskData, loss == lss)
for (onr in unique(lssData$obsNr)) {
cat("#### ObsNr", onr, "\n")
obsData <- filter(lssData, obsNr == onr)
cat(showTable(
obsData,
paste0("Task ", tnr, ": ", lss, "-Loss (obsNr: ", onr, ")")))
}
}
}
Task 1
Loss L1
ObsNr 1
Task 1: L1-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
0.605
|
|
2
|
0.018
|
|
3
|
2.385
|
|
4
|
0.011
|
|
5
|
0.139
|
|
6
|
0.074
|
|
7
|
1.288
|
|
8
|
0.298
|
|
9
|
0.027
|
ObsNr 5
Task 1: L1-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
0.361
|
|
2
|
0.099
|
|
3
|
3.215
|
|
4
|
0.177
|
|
5
|
15.473
|
|
6
|
0.217
|
|
7
|
1.680
|
|
8
|
0.388
|
|
9
|
0.337
|
Loss L2
ObsNr 1
Task 1: L2-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
0.924
|
|
2
|
0.020
|
|
3
|
3.284
|
|
4
|
0.027
|
|
5
|
0.286
|
|
6
|
0.201
|
|
7
|
2.719
|
|
8
|
0.474
|
|
9
|
0.037
|
ObsNr 5
Task 1: L2-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
0.677
|
|
2
|
0.113
|
|
3
|
4.116
|
|
4
|
0.211
|
|
5
|
21.439
|
|
6
|
0.417
|
|
7
|
3.532
|
|
8
|
0.669
|
|
9
|
0.367
|
Loss
L1AfterTimeWarp
ObsNr 1
Task 1: L1AfterTimeWarp-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
0.059
|
|
2
|
0.008
|
|
3
|
0.329
|
|
4
|
0.004
|
|
5
|
0.079
|
|
6
|
0.079
|
|
7
|
0.135
|
|
8
|
0.155
|
|
9
|
0.004
|
ObsNr 5
Task 1: L1AfterTimeWarp-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
0.068
|
|
2
|
0.047
|
|
3
|
1.658
|
|
4
|
0.168
|
|
5
|
5.218
|
|
6
|
0.184
|
|
7
|
0.156
|
|
8
|
0.127
|
|
9
|
0.160
|
Loss
L2AfterTimeWarp
ObsNr 1
Task 1: L2AfterTimeWarp-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
0.119
|
|
2
|
0.011
|
|
3
|
0.608
|
|
4
|
0.014
|
|
5
|
0.140
|
|
6
|
0.346
|
|
7
|
0.223
|
|
8
|
0.602
|
|
9
|
0.005
|
ObsNr 5
Task 1: L2AfterTimeWarp-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
0.086
|
|
2
|
0.064
|
|
3
|
2.582
|
|
4
|
0.207
|
|
5
|
8.189
|
|
6
|
0.387
|
|
7
|
0.458
|
|
8
|
0.463
|
|
9
|
0.176
|
Loss
TimeWarpCosts
ObsNr 1
Task 1: TimeWarpCosts-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
18.574
|
|
2
|
3.691
|
|
3
|
69.420
|
|
4
|
2.292
|
|
5
|
0.599
|
|
6
|
11.395
|
|
7
|
7.995
|
|
8
|
4.250
|
|
9
|
7.424
|
ObsNr 5
Task 1: TimeWarpCosts-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
11.105
|
|
2
|
27.534
|
|
3
|
322.212
|
|
4
|
211.854
|
|
5
|
69.773
|
|
6
|
94.274
|
|
7
|
9.021
|
|
8
|
5.127
|
|
9
|
418.118
|
Loss
stateDistriW2
ObsNr 1
Task 1: stateDistriW2-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
0
|
|
2
|
0
|
|
3
|
0
|
|
4
|
0
|
|
5
|
0
|
|
6
|
0
|
|
7
|
0
|
|
8
|
0
|
|
9
|
0
|
ObsNr 5
Task 1: stateDistriW2-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
0
|
|
2
|
0
|
|
3
|
0
|
|
4
|
0
|
|
5
|
0
|
|
6
|
0
|
|
7
|
0
|
|
8
|
0
|
|
9
|
0
|
Task 2
Loss L1
ObsNr 1
Task 2: L1-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
0.609
|
|
2
|
1.803
|
|
3
|
2.472
|
|
4
|
1.469
|
|
5
|
0.542
|
|
6
|
1.984
|
|
7
|
7.048
|
|
8
|
2.831
|
|
9
|
0.153
|
ObsNr 5
Task 2: L1-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
1.778
|
|
2
|
1.508
|
|
3
|
8.878
|
|
4
|
0.767
|
|
5
|
33.319
|
|
6
|
1.225
|
|
7
|
2.817
|
|
8
|
0.867
|
|
9
|
0.717
|
Loss L2
ObsNr 1
Task 2: L2-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
0.952
|
|
2
|
1.974
|
|
3
|
3.143
|
|
4
|
1.641
|
|
5
|
0.857
|
|
6
|
2.174
|
|
7
|
11.016
|
|
8
|
3.495
|
|
9
|
0.160
|
ObsNr 5
Task 2: L2-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
2.168
|
|
2
|
1.723
|
|
3
|
9.301
|
|
4
|
1.168
|
|
5
|
36.916
|
|
6
|
1.849
|
|
7
|
5.472
|
|
8
|
1.284
|
|
9
|
0.731
|
Loss
L1AfterTimeWarp
ObsNr 1
Task 2: L1AfterTimeWarp-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
0.108
|
|
2
|
1.402
|
|
3
|
0.225
|
|
4
|
1.113
|
|
5
|
0.353
|
|
6
|
1.181
|
|
7
|
0.256
|
|
8
|
0.344
|
|
9
|
0.009
|
ObsNr 5
Task 2: L1AfterTimeWarp-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
0.082
|
|
2
|
1.185
|
|
3
|
6.253
|
|
4
|
0.764
|
|
5
|
26.386
|
|
6
|
1.123
|
|
7
|
0.245
|
|
8
|
0.124
|
|
9
|
0.501
|
Loss
L2AfterTimeWarp
ObsNr 1
Task 2: L2AfterTimeWarp-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
0.115
|
|
2
|
1.684
|
|
3
|
0.267
|
|
4
|
1.290
|
|
5
|
2.588
|
|
6
|
1.242
|
|
7
|
0.367
|
|
8
|
0.543
|
|
9
|
0.012
|
ObsNr 5
Task 2: L2AfterTimeWarp-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
0.097
|
|
2
|
1.494
|
|
3
|
6.634
|
|
4
|
1.166
|
|
5
|
29.870
|
|
6
|
1.823
|
|
7
|
1.031
|
|
8
|
0.275
|
|
9
|
0.508
|
Loss
TimeWarpCosts
ObsNr 1
Task 2: TimeWarpCosts-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
23.991
|
|
2
|
258.037
|
|
3
|
63.906
|
|
4
|
203.504
|
|
5
|
1.906
|
|
6
|
271.361
|
|
7
|
48.864
|
|
8
|
58.977
|
|
9
|
49.100
|
ObsNr 5
Task 2: TimeWarpCosts-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
69.259
|
|
2
|
499.500
|
|
3
|
499.500
|
|
4
|
485.122
|
|
5
|
362.270
|
|
6
|
499.500
|
|
7
|
20.943
|
|
8
|
12.814
|
|
9
|
499.500
|
Loss
stateDistriW2
ObsNr 1
Task 2: stateDistriW2-Loss (obsNr: 1)
|
truthNr
|
Trivial
|
|
1
|
0
|
|
2
|
0
|
|
3
|
0
|
|
4
|
0
|
|
5
|
0
|
|
6
|
0
|
|
7
|
0
|
|
8
|
0
|
|
9
|
0
|
ObsNr 5
Task 2: stateDistriW2-Loss (obsNr: 5)
|
truthNr
|
Trivial
|
|
1
|
0
|
|
2
|
0
|
|
3
|
0
|
|
4
|
0
|
|
5
|
0
|
|
6
|
0
|
|
7
|
0
|
|
8
|
0
|
|
9
|
0
|
Plots
plots <-
map(params$estiPlotsFiles, readRDS) |>
reduce(bind_rows) |>
pivot_longer(-c(method, ends_with("Nr")), names_to="plot")
for (tnr in unique(plots$taskNr)) {
cat("## Task", tnr, "\n")
taskPlots <- filter(plots, taskNr == tnr)
for (onr in unique(taskPlots$obsNr)) {
cat("### ObsNr", onr, "\n")
obsPlots <- filter(taskPlots, obsNr == onr)
for (kind in unique(obsPlots$plot)) {
cat("#### Plots", kind, "\n\n\n")
kindPlots <- filter(obsPlots, plot == kind) |> arrange(truthNr, method)
# TODO: create layoutMatrix
plt <- gridExtra::arrangeGrob(
grobs = kindPlots$value,
layout_matrix = matrix(
seq_len(nrow(kindPlots)),
ncol = length(unique(kindPlots$method))))
plot(plt)
cat("\n\n\n")
}
}
}
Task 1
ObsNr 1
Plots
stateSpace

Plots
timeDependence
Plots
timeDependenceWarped
## Warning: Removed 16 row(s) containing missing values (geom_path).
## Warning: Removed 222 row(s) containing missing values (geom_path).
## Warning: Removed 82 row(s) containing missing values (geom_path).
## Warning: Removed 28 row(s) containing missing values (geom_path).


Plots
timeDiff

ObsNr 5
Plots
stateSpace

Plots
timeDependence
Plots
timeDependenceWarped
## Warning: Removed 24 row(s) containing missing values (geom_path).
## Warning: Removed 16 row(s) containing missing values (geom_path).


Plots
timeDiff

Task 2
ObsNr 1
Plots
stateSpace

Plots
timeDependence
Plots
timeDependenceWarped
## Warning: Removed 14 row(s) containing missing values (geom_path).
## Warning: Removed 202 row(s) containing missing values (geom_path).


Plots
timeDiff

ObsNr 5
Plots
stateSpace

Plots
timeDependence
Plots
timeDependenceWarped
## Warning: Removed 56 row(s) containing missing values (geom_path).
## Warning: Removed 52 row(s) containing missing values (geom_path).


Plots
timeDiff
